大家口中說的Restful API到底是什麼呢?
簡單來說,就是符合REST(Representational State Transfer)原則的API架構,主要是根據不同的method來對同一件事情做不同的操作,藉此來規範API
State : data
Representational: XML, JSON, YAML, HTML, etc
Transfer: 在server&client 端透過HTTP協定傳輸data
不囉唆先來個應用方式範例!
一般設計API
GET
/api/getIces
POST
/api/CreateIces
POST
/api/DeleteIces
or DELETE
/api/ices/delete
POST
/api/UpdateIces
or PUT
/api/ices/update
RESTFUL API
Method | 說明 | 範例(取得冰塊為例) |
---|---|---|
GET | 取得資料 | /api/ices |
POST | 新增資料 | /api/ices |
PUT | 新增、更新指定資料 | /api/ices/:iceid |
DELETE | 刪除指定資料 | /api/ices/:iceid |
PATCH | 更新指定資料 | /api/ices/:iceid |
這邊比較特別的是POST PUT PATCH 的區別,資料參考
POST: 定義上屬於將原先沒有的資料去做一筆新增的動作
PUT: 定義上屬於利用更新的方式於"指定位置"新增一項資料
PATCH: 定義上屬於在現有資料中新增或是更新資料
常見名詞
/api/ices
/:iceid
今天是用實際應用方式一目瞭然跟一般API的撰寫上的差別,包含部分概念,下一篇會接續說明到底什麼是REST特色?
參考資料: